package fun.yao.common.security;

import fun.yao.common.uitls.ConfigUtil;

/**
 * 常量定义
 * @author aps-csl
 *
 */
public final class SSLConstant
{
    /**秘钥版本*/
    public static final int CFG_SSL_KEY_VERSION = ConfigUtil.getConfigByInt("SSL_KEY_VERSION", 1);
    /** 默认密钥 */
    public static final String DEFAULT_KEY = CFG_SSL_KEY_VERSION == 1 ? "240262447423713749922240" : "457R154E2145T7387P217289";
    /** 默认向量值 */
    public static String DEFAULT_DESEDE_IV = CFG_SSL_KEY_VERSION == 1 ? "12345678" : "89A4F342";

    //--------------------------------------------------------------------
    /** 加密模式：不加密 */
    public static final byte ENCRYPT_MODE_NO      = 1;
    /** 加密模式：默认密钥加密 */
    public static final byte ENCRYPT_MODE_DEFAULT = 2;
    /** 加密模式：认证得到的会话密钥加密 */
    public static final byte ENCRYPT_MODE_SESSION = 3;

    //--------------------------------------------------------------------
    /** 加密模式加度 */
    public static final int ENCRYPT_MODE_LEN = 1;
    /** 会话ID长度 */
    public static final int SESSION_ID_LEN = 10;

    //--------------------------------------------------------------------
    /** 存储服务器证书容器 */
    public static final String CFG_SERVER_KEY_STORE_FILE_PATH       = ConfigUtil.getConfigByString("SERVER_KEY_STORE_FILE_PATH", "./ssl/server.pfx");
    /** 服务器证书容器密码 */
    public static final String CFG_SERVER_KEY_STORE_PASSWORD        = ConfigUtil.getConfigByString("SERVER_KEY_STORE_PASSWORD", "123456");

    /** 客户端证书 */
    public static final String CFG_CLIENT_PUBLIC_KEY_FILE_PATH      = ConfigUtil.getConfigByString("CLIENT_PUBLIC_KEY_FILE_PATH", "./ssl/client.crt");

    //--------------------------------------------------------------------
    /** 安全认证监听地址 */
    public static final int CFG_SECURITY_LISTEN_PORT =  ConfigUtil.getConfigByInt("SECURITY_LISTEN_PORT",0);
    /** 安全认证服务器线程池大小 */
    //public static final int CFG_SECURITY_THREAD_NUM = CommUtil.getConfigByInt("SECURITY_THREAD_NUM",6);

    /** 安全认证服务器的上级交易服务器地址 */
    public static final String CFG_SECURITY_PARENT_ADDRESS_S = ConfigUtil.getConfigByString("SECURITY_PARENT_ADDRESS_S","");

}
